package com.stefanini.pe.bbva.bp.in.to;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;

public class RebalanceoTO implements Serializable{

	private static final long serialVersionUID = 6217060914878550714L;
	
	private String codCatActivo;
	private String codCatProd;
	private String codProd;
	private String codSubProd;
	private String descripcion;
	private String moneda;
	private String plazo;
	private String saldoActual;
	private BigDecimal peso;
	private BigDecimal saldoResultante;
	private String saldoResultanteDolarizado;
	private BigDecimal pesoFamilia;
	private String indRetencion;
	private BigDecimal saldoRentenido;
	private String saldoInputPEN;
	private String saldoInputUSD;
	private String saldoInputEUR;
	private String rentabilidad;
	private String rentabilidadEstimada;
	
	private BigDecimal saldoActualDolarizado;
	private ArrayList<MontoCalculadoraTO> listDetalleMontosUSD;
	private ArrayList<MontoCalculadoraTO> listDetalleMontosPEN;
	private ArrayList<MontoCalculadoraTO> listDetalleMontosEUR;
	private ArrayList<MontoCalculadoraTO> listDetalleSaldos;
	private String idrebalanceo;//abarrios
	private String idrebalanceodetalle;//abarrios
	private boolean flagBD=false;//abarrios
	
	public RebalanceoTO() {
		peso=new BigDecimal(0);
		saldoResultante=new BigDecimal(0);
		pesoFamilia=new BigDecimal(0);
		saldoRentenido=new BigDecimal(0);
		saldoActualDolarizado=new BigDecimal(0);
		listDetalleMontosPEN = new ArrayList<MontoCalculadoraTO>();
		listDetalleMontosUSD = new ArrayList<MontoCalculadoraTO>();
		listDetalleMontosEUR = new ArrayList<MontoCalculadoraTO>();
		listDetalleSaldos = new ArrayList<MontoCalculadoraTO>();
	}
	
	public String getDescripcion() {
		return descripcion;
	}
	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}
	public String getMoneda() {
		return moneda;
	}
	public void setMoneda(String moneda) {
		this.moneda = moneda;
	}
	public String getPlazo() {
		return plazo;
	}
	public void setPlazo(String plazo) {
		this.plazo = plazo;
	}
	
	public String getSaldoActual() {
		return saldoActual;
	}
	public void setSaldoActual(String saldoActual) {
		this.saldoActual = saldoActual;
	}	
	
	public BigDecimal getSaldoResultante() {
		return saldoResultante;
	}
	public void setSaldoResultante(BigDecimal saldoResultante) {
		this.saldoResultante = saldoResultante;
	}
	
	public BigDecimal getPeso() {
		return peso;
	}
	public void setPeso(BigDecimal peso) {
		this.peso = peso;
	}
	
	public String getCodCatActivo() {
		return codCatActivo;
	}
	public void setCodCatActivo(String codCatActivo) {
		this.codCatActivo = codCatActivo;
	}
	public String getCodCatProd() {
		return codCatProd;
	}
	public void setCodCatProd(String codCatProd) {
		this.codCatProd = codCatProd;
	}
	public String getCodProd() {
		return codProd;
	}
	public void setCodProd(String codProd) {
		this.codProd = codProd;
	}
	public String getCodSubProd() {
		return codSubProd;
	}
	public void setCodSubProd(String codSubProd) {
		this.codSubProd = codSubProd;
	}
	public String getSaldoInputPEN() {
		return saldoInputPEN;
	}
	public void setSaldoInputPEN(String saldoInputPEN) {
		this.saldoInputPEN = saldoInputPEN;
	}
	public String getSaldoInputUSD() {
		return saldoInputUSD;
	}
	public void setSaldoInputUSD(String saldoInputUSD) {
		this.saldoInputUSD = saldoInputUSD;
	}
	public String getSaldoInputEUR() {
		return saldoInputEUR;
	}
	public void setSaldoInputEUR(String saldoInputEUR) {
		this.saldoInputEUR = saldoInputEUR;
	}
	public String getIndRetencion() {
		return indRetencion;
	}
	public void setIndRetencion(String indRetencion) {
		this.indRetencion = indRetencion;
	}
			
	public BigDecimal getSaldoActualDolarizado() {
		return saldoActualDolarizado;
	}
	public void setSaldoActualDolarizado(BigDecimal saldoActualDolarizado) {
		this.saldoActualDolarizado = saldoActualDolarizado;
	}
	
	public String getRentabilidad() {
		return rentabilidad;
	}
	public void setRentabilidad(String rentabilidad) {
		this.rentabilidad = rentabilidad;
	}
	public String getRentabilidadEstimada() {
		return rentabilidadEstimada;
	}
	public void setRentabilidadEstimada(String rentabilidadEstimada) {
		this.rentabilidadEstimada = rentabilidadEstimada;
	}
	public String getSaldoResultanteDolarizado() {
		return saldoResultanteDolarizado;
	}
	public void setSaldoResultanteDolarizado(String saldoResultanteDolarizado) {
		this.saldoResultanteDolarizado = saldoResultanteDolarizado;
	}
	public BigDecimal getSaldoRentenido() {
		return saldoRentenido;
	}
	public void setSaldoRentenido(BigDecimal saldoRentenido) {
		this.saldoRentenido = saldoRentenido;
	}
	public BigDecimal getPesoFamilia() {
		return pesoFamilia;
	}
	public void setPesoFamilia(BigDecimal pesoFamilia) {
		this.pesoFamilia = pesoFamilia;
	}
	
	public ArrayList<MontoCalculadoraTO> getListDetalleMontosUSD() {
		return listDetalleMontosUSD;
	}
	public void setListDetalleMontosUSD(
			ArrayList<MontoCalculadoraTO> listDetalleMontosUSD) {
		this.listDetalleMontosUSD = listDetalleMontosUSD;
	}
	public ArrayList<MontoCalculadoraTO> getListDetalleMontosPEN() {
		return listDetalleMontosPEN;
	}
	public void setListDetalleMontosPEN(
			ArrayList<MontoCalculadoraTO> listDetalleMontosPEN) {
		this.listDetalleMontosPEN = listDetalleMontosPEN;
	}
	public ArrayList<MontoCalculadoraTO> getListDetalleMontosEUR() {
		return listDetalleMontosEUR;
	}
	public void setListDetalleMontosEUR(
			ArrayList<MontoCalculadoraTO> listDetalleMontosEUR) {
		this.listDetalleMontosEUR = listDetalleMontosEUR;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result
				+ ((codCatActivo == null) ? 0 : codCatActivo.hashCode());
		result = prime * result
				+ ((codCatProd == null) ? 0 : codCatProd.hashCode());
		result = prime * result + ((codProd == null) ? 0 : codProd.hashCode());
		result = prime * result
				+ ((codSubProd == null) ? 0 : codSubProd.hashCode());
		result = prime * result
				+ ((descripcion == null) ? 0 : descripcion.hashCode());
		result = prime * result
				+ ((indRetencion == null) ? 0 : indRetencion.hashCode());
		result = prime
				* result
				+ ((listDetalleMontosEUR == null) ? 0 : listDetalleMontosEUR
						.hashCode());
		result = prime
				* result
				+ ((listDetalleMontosPEN == null) ? 0 : listDetalleMontosPEN
						.hashCode());
		result = prime
				* result
				+ ((listDetalleMontosUSD == null) ? 0 : listDetalleMontosUSD
						.hashCode());
		result = prime * result + ((moneda == null) ? 0 : moneda.hashCode());
		result = prime * result + ((peso == null) ? 0 : peso.hashCode());
		result = prime * result
				+ ((pesoFamilia == null) ? 0 : pesoFamilia.hashCode());
		result = prime * result + ((plazo == null) ? 0 : plazo.hashCode());
		result = prime * result
				+ ((rentabilidad == null) ? 0 : rentabilidad.hashCode());
		result = prime
				* result
				+ ((rentabilidadEstimada == null) ? 0 : rentabilidadEstimada
						.hashCode());
		result = prime * result
				+ ((saldoActual == null) ? 0 : saldoActual.hashCode());
		result = prime
				* result
				+ ((saldoActualDolarizado == null) ? 0 : saldoActualDolarizado
						.hashCode());
		result = prime * result
				+ ((saldoInputEUR == null) ? 0 : saldoInputEUR.hashCode());
		result = prime * result
				+ ((saldoInputPEN == null) ? 0 : saldoInputPEN.hashCode());
		result = prime * result
				+ ((saldoInputUSD == null) ? 0 : saldoInputUSD.hashCode());
		result = prime * result
				+ ((saldoRentenido == null) ? 0 : saldoRentenido.hashCode());
		result = prime * result
				+ ((saldoResultante == null) ? 0 : saldoResultante.hashCode());
		result = prime
				* result
				+ ((saldoResultanteDolarizado == null) ? 0
						: saldoResultanteDolarizado.hashCode());
		return result;
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		RebalanceoTO other = (RebalanceoTO) obj;
		if (codCatActivo == null) {
			if (other.codCatActivo != null)
				return false;
		} else if (!codCatActivo.equals(other.codCatActivo))
			return false;
		if (codCatProd == null) {
			if (other.codCatProd != null)
				return false;
		} else if (!codCatProd.equals(other.codCatProd))
			return false;
		if (codProd == null) {
			if (other.codProd != null)
				return false;
		} else if (!codProd.equals(other.codProd))
			return false;
		if (codSubProd == null) {
			if (other.codSubProd != null)
				return false;
		} else if (!codSubProd.equals(other.codSubProd))
			return false;
		if (descripcion == null) {
			if (other.descripcion != null)
				return false;
		} else if (!descripcion.equals(other.descripcion))
			return false;
		if (indRetencion == null) {
			if (other.indRetencion != null)
				return false;
		} else if (!indRetencion.equals(other.indRetencion))
			return false;
		if (listDetalleMontosEUR == null) {
			if (other.listDetalleMontosEUR != null)
				return false;
		} else if (!listDetalleMontosEUR.equals(other.listDetalleMontosEUR))
			return false;
		if (listDetalleMontosPEN == null) {
			if (other.listDetalleMontosPEN != null)
				return false;
		} else if (!listDetalleMontosPEN.equals(other.listDetalleMontosPEN))
			return false;
		if (listDetalleMontosUSD == null) {
			if (other.listDetalleMontosUSD != null)
				return false;
		} else if (!listDetalleMontosUSD.equals(other.listDetalleMontosUSD))
			return false;
		if (moneda == null) {
			if (other.moneda != null)
				return false;
		} else if (!moneda.equals(other.moneda))
			return false;
		if (peso == null) {
			if (other.peso != null)
				return false;
		} else if (!peso.equals(other.peso))
			return false;
		if (pesoFamilia == null) {
			if (other.pesoFamilia != null)
				return false;
		} else if (!pesoFamilia.equals(other.pesoFamilia))
			return false;
		if (plazo == null) {
			if (other.plazo != null)
				return false;
		} else if (!plazo.equals(other.plazo))
			return false;
		if (rentabilidad == null) {
			if (other.rentabilidad != null)
				return false;
		} else if (!rentabilidad.equals(other.rentabilidad))
			return false;
		if (rentabilidadEstimada == null) {
			if (other.rentabilidadEstimada != null)
				return false;
		} else if (!rentabilidadEstimada.equals(other.rentabilidadEstimada))
			return false;
		if (saldoActual == null) {
			if (other.saldoActual != null)
				return false;
		} else if (!saldoActual.equals(other.saldoActual))
			return false;
		if (saldoActualDolarizado == null) {
			if (other.saldoActualDolarizado != null)
				return false;
		} else if (!saldoActualDolarizado.equals(other.saldoActualDolarizado))
			return false;
		if (saldoInputEUR == null) {
			if (other.saldoInputEUR != null)
				return false;
		} else if (!saldoInputEUR.equals(other.saldoInputEUR))
			return false;
		if (saldoInputPEN == null) {
			if (other.saldoInputPEN != null)
				return false;
		} else if (!saldoInputPEN.equals(other.saldoInputPEN))
			return false;
		if (saldoInputUSD == null) {
			if (other.saldoInputUSD != null)
				return false;
		} else if (!saldoInputUSD.equals(other.saldoInputUSD))
			return false;
		if (saldoRentenido == null) {
			if (other.saldoRentenido != null)
				return false;
		} else if (!saldoRentenido.equals(other.saldoRentenido))
			return false;
		if (saldoResultante == null) {
			if (other.saldoResultante != null)
				return false;
		} else if (!saldoResultante.equals(other.saldoResultante))
			return false;
		if (saldoResultanteDolarizado == null) {
			if (other.saldoResultanteDolarizado != null)
				return false;
		} else if (!saldoResultanteDolarizado
				.equals(other.saldoResultanteDolarizado))
			return false;
		return true;
	}
	public ArrayList<MontoCalculadoraTO> getListDetalleSaldos() {
		return listDetalleSaldos;
	}
	public void setListDetalleSaldos(ArrayList<MontoCalculadoraTO> listDetalleSaldos) {
		this.listDetalleSaldos = listDetalleSaldos;
	}
	public String getIdrebalanceo() {
		return idrebalanceo;
	}
	public void setIdrebalanceo(String idrebalanceo) {
		this.idrebalanceo = idrebalanceo;
	}
	public String getIdrebalanceodetalle() {
		return idrebalanceodetalle;
	}
	public void setIdrebalanceodetalle(String idrebalanceodetalle) {
		this.idrebalanceodetalle = idrebalanceodetalle;
	}
	public boolean isFlagBD() {
		return flagBD;
	}
	public void setFlagBD(boolean flagBD) {
		this.flagBD = flagBD;
	}
}
